--- import type { Page, GetStaticPathsOptions } from "astro"; import type { CollectionEntry } from "astro:content"; import { getCollection } from "astro:content"; import PageLayout from "@/layouts/Base.astro"; import PostPreview from "@/components/blog/PostPreview.astro"; import Pagination from "@/components/common/Paginator.astro"; import { getUniqueTags, sortMDByDate } from "@/utils"; export async function getStaticPaths({ paginate }: GetStaticPathsOptions) { const allPosts = await getCollection("post"); const visiblePosts = allPosts.filter((post) => !post.data.hidden); const allPostsByDate = sortMDByDate(visiblePosts); const uniqueTags = getUniqueTags(allPosts); return paginate(allPostsByDate, { props: { uniqueTags }, pageSize: 10 }); } interface Props { page: Page>; uniqueTags: string[]; } const { page, uniqueTags } = Astro.props; const meta = { title: "/blog", description: "Posts by Steve", }; const paginationProps = { ...(page.url.prev && { prevUrl: { url: page.url.prev, text: "← Previous Posts", }, }), ...(page.url.next && { nextUrl: { url: page.url.next, text: "Next Posts →", }, }), }; ---

/blog

    { page.data.map((p) => (
  • )) }
{ uniqueTags.length && ( ) }